---
sidebar_class_name: 仅限Node环境
---

import CodeBlock from "@theme/CodeBlock";


# Faiss

:::info 兼容性
仅适用于Node.js环境。
:::

[Faiss](https://github.com/facebookresearch/faiss) 是用于稠密向量的高效相似度搜索和聚类的库。

Langchainjs支持使用Faiss作为向量库，并可将其保存到文件。同时，它还提供从[Python实现](https://python.langchain.com/en/latest/modules/indexes/vectorstores/examples/faiss.html#saving-and-loading)读取保存的文件的功能。

## 安装

安装[faiss-node](https://github.com/ewfian/faiss-node),它是[Faiss](https://github.com/facebookresearch/faiss)的Node.js绑定。

```bash npm2yarn
npm install -S faiss-node

```


要启用从[Python实现](https://python.langchain.com/en/latest/modules/indexes/vectorstores/examples/faiss.html#saving-and-loading)读取保存的文件的功能，还需要安装[pickleparser](https://github.com/ewfian/pickleparser)。

```bash npm2yarn
npm install -S pickleparser

```


## 使用

### 从文本创建新索引

import ExampleTexts from "!!raw-loader!@examples/indexes/vector_stores/faiss.ts";


<CodeBlock language="typescript">{ExampleTexts}</CodeBlock>


### 从加载器创建新索引

import ExampleLoader from "!!raw-loader!@examples/indexes/vector_stores/faiss_fromdocs.ts";


<CodeBlock language="typescript">{ExampleLoader}</CodeBlock>


### 将索引保存到文件并再次加载

import ExampleSave from "!!raw-loader!@examples/indexes/vector_stores/faiss_saveload.ts";


<CodeBlock language="typescript">{ExampleSave}</CodeBlock>


### 从[Python实现](https://python.langchain.com/en/latest/modules/indexes/vectorstores/examples/faiss.html#saving-and-loading)中加载保存的文件

import ExamplePython from "!!raw-loader!@examples/indexes/vector_stores/faiss_loadfrompython.ts";



<CodeBlock language="typescript">{ExamplePython}</CodeBlock>

